package main

import (
	"fmt"
	"reflect"
)

// struct{} 类型 （不占用内存，没有值）使用示例

func hasRepeat(slice []int) bool {
	map1 := map[int]struct{}{}
	for _, v := range slice {
		if _, ok := map1[v]; ok {
			fmt.Println("has repeat")
			return true
		} else {
			map1[v] = struct{}{}
		}
	}
	fmt.Println("no repeat")
	return false
}
func main() {
	arr := [...]int{1, 2, 3, 4, 4}
	slice := arr[:] //底层数组复用
	slice[0] = 0
	fmt.Println(arr, reflect.TypeOf(arr).Kind(), slice)
	hasRepeat(slice)
}

func init() {
	fmt.Println("main package init")
}
